package me.sdevil507.org.po;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import me.sdevil507.supports.jpa.BaseJpaSnowflakeIdAndAuditEntity;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Lob;
import javax.persistence.Table;
import java.util.Date;

/**
 * 专家信息辅表
 *
 * @author sdevil507
 * created on 2020/8/7
 */
@EqualsAndHashCode(callSuper = true)
@Entity
@Table(name = "biz_org_expert_info")
@Data
public class OrgExpertInfoPo extends BaseJpaSnowflakeIdAndAuditEntity {

    /**
     * 照片
     */
    @Column
    private String photo;

    /**
     * 姓名拼音
     */
    @Column
    private String namePinyin;

    /**
     * 英文名
     */
    @Column
    private String nameEn;

    /**
     * 曾用名
     */
    @Column
    private String usedName;

    /**
     * 笔名
     */
    @Column
    private String penName;

    /**
     * 职务
     */
    @Column
    private String position;

    /**
     * 职称
     */
    @Column
    private String theTitle;

    /**
     * 职称级别
     */
    @Column
    private String titleLevel;

    /**
     * 微信号
     */
    @Column
    private String wechatNum;

    /**
     * 工作单位
     */
    @Column
    private String company;

    /**
     * 学术称号
     */
    @Column
    private String academicTitle;

    /**
     * 性别
     */
    @Column
    private String gender;

    /**
     * 生日
     */
    @Column
    private Date birthday;

    /**
     * 政治面貌
     */
    @Column
    private String politicsStatus;

    /**
     * 籍贯
     */
    @Column
    private String nativePlace;

    /**
     * 民族
     */
    @Column
    private String nation;

    /**
     * 国籍
     */
    @Column
    private String nationality;

    /**
     * 所在地(省市)
     */
    @Column
    private String provinceCity;

    /**
     * 工作经历
     */
    @Column
    private String workExperience;

    /**
     * qq号码
     */
    @Column
    private String qqNum;

    /**
     * 办公电话
     */
    @Column
    private String officePhone;

    /**
     * 通讯地址
     */
    @Column
    private String address;

    /**
     * 学历
     */
    @Column
    private String education;

    /**
     * 学位
     */
    @Column
    private String degree;

    /**
     * 学科
     */
    @Column
    private String subject;

    /**
     * 研究领域
     */
    @Column
    private String researchDomain;

    @Column
    private String companyAddress;

    /**
     * 毕业院校
     */
    @Column
    private String graduateSchool;

    /**
     * 入党时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Column
    private Date joinPartyTime;

    @Column
    private String linkAddress;

    @Column
    private String post;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Column
    private Date workTime;

    @Column
    private String workingDept;

    @Column
    private String workingStation;

    @Column
    private String facultySources;

    @Column
    private String cooperationNum;

    /**
     * 身份
     */
    @Column
    private String identity;

    /**
     * 期待合作方向
     */
    @Column
    private String expectCooperationDirection;

    /**
     * 其他社会职务
     */
    @Column
    private String otherPosition;

    /**
     * 荣誉及成就
     */
    @Column(columnDefinition = "text")
    @Lob
    private String honorsAchievements;

    /**
     * 代表论文及专著
     */
    @Column(columnDefinition = "text")
    @Lob
    private String papersMonographs;

    /**
     * 个人或团队专长
     */
    @Column(columnDefinition = "text")
    @Lob
    private String speciality;

    /**
     * 维护人
     */
    @Column
    private String maintainer;

    /**
     * 维护人电话
     */
    @Column
    private String maintenancePhone;

}
